package com.itheima.thread.create.demo01;

/**
 * 在java中创建多线程存在3种方式：
 *
 * 1. 继承Thread类的方法进行实现
 * 2. 实现Runnable接口来实现多线程
 * 3. 借助于Callable以及Future来实现多线程
 *
 * 第一种方式：继承Thread类的方法进行实现
 *
 * 步骤：
 *  1. 定义一个类，让其去继承Thread类
 *  2. 重写Thread类中的run方法，run方法封装的就是要被线程执行的语句，因此把run方法称之为线程执行体
 *  3. 创建线程类的子类对象
 *  4. 启动线程
 *
 */
public class ThreadDemo01 {

    public static void main(String[] args) {

        // 创建MyThread对象
        MyThread t1 = new MyThread();
        MyThread t2 = new MyThread();

        // 启动线程
        t1.start();         // 启动线程以后，jvm会开启一个线程去调用MyThread类中的run方法
        // t1.start();         // IllegalThreadStateException: 非法的线程状态异常 , 我们这个start方法只能被调用一次

        t2.start();         // 启动线程以后，jvm会开启一个线程去调用MyThread类中的run方法

        // 调用run方法
        // t1.run();              // 就是把run方法当做一个普通方法去进行调用
        // t1.run();
        // t2.run();

        // 写for循环
        for(int x = 0 ; x < 50 ; x++) {
            System.out.println("main...." + x);
        }

    }

}













